package com.itheima.reflectdemo;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;

public class ReflectDemo4 {
    public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
        // 可以绕过泛型的约束
        // 1. 正常操作
        List<String> list = new ArrayList<>();
        list.add("hello");
        list.add("world");
        //list.add(5); // 不被允许

        // 2. 绕过泛型的约束
        Class c1 = list.getClass();
        Method add = c1.getDeclaredMethod("add", Object.class);
        add.invoke(list, 5); // 被允许了
        System.out.println(list);
    }
}
